package com.luhui.codereview.service

import com.intellij.openapi.components.ServiceManager
import com.intellij.openapi.project.Project
import com.luhui.codereview.token.ProjectInfo

/**
 * @author luhui
 * @version 1.0
 * @date 2019/11/11 21:02
 */
interface ProjectService {
    companion object {
        fun getInstance(project: Project): ProjectService {
            return ServiceManager.getService(project, ProjectService::class.java)
        }
    }

    /**
     * 将此项目保存至服务器，并返回保存的id，并将最终结果序列化至项目目录
     * 如果硬盘已经有序列化文件，那么就不保存了，直接取序列化文件进行反序列化
     */
    fun saveAndGetProjectInfo():ProjectInfo

    /**
     * 获取当前项目信息
     */
    fun getCurrentProjectInfo() : ProjectInfo?

    /**
     * 修改当前项目信息（序列化内容，非服务器端修改）
     */
    fun updateCurrentProjectInfo(projectInfo:ProjectInfo)
}
